package com.youlai.boot.modules.category.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.modules.category.model.Category;
import com.youlai.boot.modules.category.model.CategoryPageQuery;
import com.youlai.boot.modules.category.model.CategoryVO;
import com.youlai.boot.modules.category.model.CategoryForm;
import com.youlai.boot.modules.category.model.TreeItemVO;

import java.util.List;

public interface CategoryService extends IService<Category> {
    IPage<CategoryVO> getCategoryPage(CategoryPageQuery queryParams);

    CategoryForm getCategoryForm(Long categoryId);

    CategoryVO getCategoryById(Long categoryId);

    Long saveCategory(CategoryForm form);

    void updateCategory(CategoryForm form);

    boolean deleteCategory(Long categoryId);

    /**
     * 获取分类树形结构(前两层)
     *
     * @return 分类树形列表
     */
    List<TreeItemVO> getCategoryTree();
}
